/**
 @file xbee_svc.h
 @brief Rutinas de control del driver del dispositivo XBee.
 @date   29/10/2012
 @version v.0.9
 @author Julian Ovalle
         julianovalle@ula.ve
*/

#ifndef XBEE_SVC_H_
#define XBEE_SVC_H_

#include "xbee_driver.h"
#include "xbee_driver_def.h"

//#define XBEE_SVC_DEBUG

/*!
   @brief Inicializa el driver para comunicación con el dispositivo y crea las hebras para envío y recepción de tramas.
   @return 0 en caso de exito. -1 en caso de error
 */
int xbeeSvcInit();

/*!
   @brief Finaliza el driver para comunicación con el dispositivo y une las hebras para envío y recepción de tramas.
   @return 0 en caso de exito. -1 en caso de error
 */
int xbeeSvcExit();

/*!
   @brief Coloca una trama en la cola general de salida.
   @param *qbuf apuntador a la trama. @see msgbuf_tx
   @return 0 en caso de exito. -1 en caso de error
 */
int xbeeSend(struct msgbuf_tx *qbuf);

/*!
   @brief Consulta el contador de tramas correctas recibidas desde el inicio del proceso.
 */
int xbeeGoodCount();

/*!
   @brief Consulta el contador de acuses de recibo de capa MAC recibidos desde el inicio del proceso.
 */
int xbeeMACKedCount();



#endif /* XBEE_SVC_H_ */
